Option Explicit

' 初始化一个 sql 中的列定义
' @param tableAliasVal 当前表的别名
' @param tableNameVal 当前的表名
Public Function createSqlColumnDefine(ByRef tableNameVal As String, ByRef columnNameVal As String) As SqlColumnDefine
    Set createSqlColumnDefine = new SqlColumnDefine
    createSqlColumnDefine.Init tableNameVal, columnNameVal
End Function

' 使用数字字符串初始化一个数字列定义
' @param tableAliasVal 数字字符串
Public Function createNumberValueByStr(ByRef numStrVal As String) As NumberValue
    Set createNumberValue = new NumberValue
    createNumberValue.InitByStr numStrVal
End Function

' 使用真实的数字初始化一个数字列定义
' @param tableAliasVal 数字字符串
Public Function createNumberValueByNum(ByRef numVal As Variant) As NumberValue
    Set createNumberValue = new NumberValue
    createNumberValue.InitByNum numStrVal
End Function

' 初始化一个字符串列定义
' @param tableAliasVal 当前表的别名
' @param tableNameVal 当前的表名
Public Function createStringValue(ByRef strVal As String) As StringValue
    Set createStringValue = new StringValue
    createStringValue.Init strVal
End Function

' 初始化一个函数列定义，只有函数名，没有函数参数
' @param tableAliasVal 当前表的别名
' @param tableNameVal 当前的表名
Public Function createFunction(ByRef funcName As String) As FuncExpression
    Set createFunction = new FuncExpression
    createFunction.Init funcName
End Function
